<?php
/**
 *  
 * @package package_name
 * @author Mervin.Wong<mervin0502@163.com>
 * @Copyright
 * @license  http://www.apache.org/licenses/LICENSE-2.0
 * @version 0.1.0
 * @date 2013-2-24下午4:37:14
 *
 */
 
 /**
  * 
  *  CanGoo Tag 控制器
  *  标签管理
  * @package admin
  * @subpackage models
  * @category admin
  * 
  */
  class Tag_model extends CI_Model{
  	
  	public function __construct(){
  		parent::__construct();
  		//加载数据库
  		$this->load->database();
  		
  	}
  	
   /**
    * 获取标签
    * @access public
    * @param array $field 字段数组
    * @return array|bool 
    */
   public function get_tags($field){
   	
		$this->db->select($field);
  		$this->db->from('taxonomy');
  		$this->db->where('module','blog');
  		$this->db->where('type', 'tag');
  		
  		$query = $this->db->get();
  		if($query->num_rows >0){
  			return $query->result_array();
  		}else{
  			return false;
  		}
   }
   
   /**
    * 获取一个指定ID的标签
    * @access public
    * @param int $tid 标签的ID
    * @return array|bool
    */
   public function get_tag($tid){
   		$this->db->select('*');
   		$this->db->from('taxonomy');
   		$this->db->where('module', 'blog');
   		$this->db->where('type', 'tag');
   		$this->db->where('tid', $tid);
   		$query = $this->db->get();
   		if($query->num_rows >0){
   			return $query->row_array();
   		}else{
   			return false;
   		}
   }
   
   /**
    * 插入一条记录
    * @access public
    * @param array $args 字段值数组
    * @return int|bool description
    */
   public function insert($args){
   		$query = $this->db->insert('taxonomy', $args);
   		if($this->db->affected_rows() > 0){
   			return $this->db->insert_id();
   		}else{
   			return false;
   		}
   }
   
   /**
    * 更新一条记录
    * @access public
    * @param array $args 字段值数组
    * @param int $tid description
    * @return bool description
    */
   public function update($args, $tid){
   		$this->db->where('tid', $tid);
   		$this->db->update('taxonomy', $args);
   		if($this->db->affected_rows() > 0){
   			return true;
   		}else{
   			return false;
   		}
   }
   
   /**
    * 删除一条记录 删除一个标签时，同时也删除tax_map表里的映射关系
    * @access public
    * @param int $tid description
    * @return bool description
    */
   public function delete($tid){
   		//tax_map表
   		$this->db->where('tid', $tid);
   		$this->db->delete('tax_map');
   		//taxonomy表
   		$this->db->where('tid', $tid);
   		return $this->db->delete('taxonomy');
   }
   /**
    * 服务器端标签重复性检测模型函数
    * @access public
    * @param string $vale 表单域值
    * @param string $field 检测的字段
    * @param int  $tid 如果是编辑过程中不需要与本身所在的记录做比较
    * @return bool description
    */
   public function check($value, $field, $tid){
	  	$this->db->select($field);
   		$this->db->from('taxonomy');
   		$this->db->where('module', 'blog');
		$this->db->where('type', 'tag');
		$this->db->where($field, $value);
		if($tid != 0){
			$this->db->where('tid !=', $tid);
		}
   		$query = $this->db->get();
   		if($query->num_rows > 0){
   			return true;
   		}else{
   			return false;
  	   		}
   }
   
   
   
 }
  
/* End of file tag.php */
/* Loaction : ./apps/admin/models/blog/tag.php*/